package qc.module.ehs.dto.task;

import lombok.Data;

/**
 * 任务信息DTO
 * 用于查询和显示使用，仅包含任务信息表中的属性；
 *
 * @author QuCheng Tech
 * @since 2024/11/13
 */
@Data
public class TaskInfoDto {
    /**
     * 任务ID
     */
    private String taskid;

    /**
     * 所属组织代码
     */
    private String orgcode;

    /**
     * 任务标题
     */
    private String tasktitle;

    /**
     * 任务内容;内容、时间、完成情况及要求说明文字
     */
    private String taskcontent;

    /**
     * 任务附件
     */
    private String taskattachment;

    /**
     * 任务分类名称;安全检查、设备保养、隐患治理、作业活动
     */
    private String catname;

    /**
     * 任务大类
     */
    private int tasktype;

    /**
     * 任务目标对象类型;未定义、单元、设备设施、危险源、第一类危险源、隐患
     */
    private int objtype;

    /**
     * 任务目标对象是否非空
     */
    private boolean notnull;

    /**
     * 是否需填写检查表
     */
    private boolean needchecktable;
    
    /**
     * 检查表ID集合
     */
    private String[] checktableids;

    /**
     * 是否必须现场签到
     */
    private boolean needsignin;

    /**
     * 执行结果是否需确认
     */
    private boolean needconfirm;

    /**
     * 创建人ID
     */
    private int inuserid;

    /**
     * 创建人名称
     */
    private String inusername;

    /**
     * 创建时间
     */
    private String intm;

    /**
     * 计划开始时间
     */
    private String planbegintm;

    /**
     * 计划截止时间
     */
    private String planendtm;

    /**
     * 计划执行周期类型;在计划起止时间内按日、周、旬、月、季度、年为周期执行
     */
    private int planfrequencytype;

    /**
     * 每个周期内计划执行次数
     */
    private int planfrequencycount;

    /**
     * 计划执行总次数;每个周期内要执行的次数，必须达到此数量才能设置任务状态为完成
     */
    private int plantotalcount;

    /**
     * 是否已派单
     */
    private boolean hasdispatch;

    /**
     * 任务是否执行完成
     */
    private boolean hasfinish;

    /** 任务是否终止/取消 */
    private boolean hasend ;

    /** 实际执行次数 */
    private int execcount ;

    /** 辨识危险源次数 */
    private int execidentifycount ;

    /** 上报隐患次数 */
    private int exectroublecount ;
}
